Electromechanical brake systems are attracting increasing interest for use in and with motor vehicles. For example, electromechanical brake systems may have a central controller and/or a controller associated with each brake control subsystem that is located at the corner of the vehicle. The controllers may be coupled to a bus (such as a time triggered bus or an event triggered bus) to provide communication by and between the various controllers. Because such electromechanical brake systems may rely exclusively upon electromechanical systems to control the brakes, these systems typically include significant redundancies and backups. Some systems may have a fail-safe or fail-silent architecture such that the system may continue to function, but at a reduced level of performance, when one of the nodes (i.e. a corner controller) becomes faulty and/or is shut down.
There is a desire to provide a distributed system that is fault tolerant or fail operational such that the system can continue to function normally, or close to normally, even if one of the nodes or part of the nodes becomes faulty and/or is shut down. Such a fault tolerant system provides advantages over fail-safe or fail-silent systems in which the system may continue to function, but at a reduced level of performance. Classical systems require three controllers at a single node to provide sufficient redundancy to provide a fault tolerant node. However, it may be cost prohibitive to provide three controllers at each node for many systems, such as automotive control systems.
Accordingly, there is a need for a fault tolerant node architecture for use with systems or controllers that are coupled to a bus. There is a need for such a fault tolerant node architecture which can be used in a distributed system, and which takes advantage of the distributed nature of the system to provide the fault-tolerant features.